//专门写权限的文件，比如写导航守卫等

import router from './router'
import store from './store'
import nprogress from 'nprogress'
import 'nprogress/nprogress.css'

let whiteList = ['/login','/404']
router.beforeEach(async (to,from,next)=>{
    
    //准备跳转时跳出进度条
    nprogress.start()

    //判断是否有token
    if(store.getters.token){
        //登陆了
        //判断是否去登录页
        if(to.path ==='/login'){
            //放行到首页
            next('/')
        }else{

            //如果没有用户才发请求获取用户信息
            if (!store.getters.userId) {
                // 在这里获取用户信息
                await store.dispatch('user/getUserInfo')
              }
            //登陆了而且去的不是登录页，正常放行
            next()
        }
    }else{
        //判断要去的路由在不在白名单里
        if(whiteList.includes(to.path)){
            next()
        }else{
            //没有登录，回到登录页
            next('/login')
        }
    }
})

//路由跳转之后
router.afterEach((to,from)=>{
    //停止进度条
    nprogress.done()
})